package com.ocom.payconfig.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ocom.common.dto.payconfig.FeeDataGzhVo;
import com.ocom.common.entity.card.EntityXfRecordProcess;
import com.ocom.common.entity.payconfig.FeeData;
import com.ocom.common.resp.Result;
import com.ocom.common.vo.payconfig.FeeDataListVo;
import com.ocom.common.vo.payconfig.PersonRefundVo;
import icu.mhb.mybatisplus.plugln.base.service.JoinIService;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 缴费清单 服务类
 * </p>
 *
 * @author junShu
 * @since 2023-08-18
 */
public interface FeeDataService extends JoinIService<FeeData> {
    List<Map<String, Object>> getSumFeeData(Long comId, String strItemID);

    Result feeDataList(Long comId,FeeDataListVo request);

    Result addFeeData(Long comId, FeeDataListVo request);

    Result updateFeeMoney(Long comId,FeeDataListVo request);

    Result removeFeeData(Long comId,FeeDataListVo request);

    Result addFeeDataByPerson(Long comId,FeeDataListVo request);

    HashMap<String, Object> feeDataByPerson(Long comId, FeeDataListVo request);

    Result personRefund(Long comId, PersonRefundVo request);

    boolean addFeeDataOne(Long companyId, FeeData feeData);

    public boolean addFeeDataFree(Long companyId, FeeData feeData, EntityXfRecordProcess entityXfRecordProcess);

    Page<FeeDataGzhVo> getItemDateGzh(Long companyId, Integer page, Integer size);
}
